﻿using System.Windows;
using System.Windows.Media.Animation;

namespace SpriteSheetsFabric.Wpf
{
    public partial class Baker
    {
        private class BakeItem
        {
            public Storyboard Storyboard { get; private set; }
            public Duration Duration { get; private set; }
            public string Name { get; private set; }
            public FrameworkElement Target { get; private set; }

            /// <summary>
            /// Initializes a new instance of the <see cref="BakeItem"/> class.
            /// </summary>
            /// <param name="name">The name of the file and directory.</param>
            /// <param name="duration">The duration.</param>
            /// <param name="storyboard">The storyboard instance.</param>
            public BakeItem(FrameworkElement target, string name, Duration duration, Storyboard storyboard)
            {
                this.Storyboard = storyboard;
                this.Duration = duration;
                this.Name = name;
                this.Target = target;
            }

            /// <summary>
            /// Initializes a new instance of the <see cref="BakeItem"/> class.
            /// </summary>
            /// <param name="name">The name of the storyboard but also the files and directory.</param>
            /// <param name="duration">The duration.</param>
            public BakeItem(FrameworkElement target, string name, Duration duration)
            {
                this.Duration = duration;
                this.Name = name;
                this.Target = target;
            }
        }
    }
}
